﻿// -----------------------------------------------------------------------
// <copyright file="StatusJob_DAL.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace PMSGSC.DAL
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public class StatusJob_DAL:BaseDAL
    {
        // Lấy tất cả StatusJob
        public static List<StatusJob> GetAll(int shipID)
        {
            DB.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, DB.StatusJobs);
            return DB.StatusJobs.Where(n=>n.Ship_ID == shipID).ToList();
        }
        // Lấy StatusJob theo Id
        public static StatusJob GetDataById(int id)
        {
            return DB.StatusJobs.Where(m => m.StatusJob_ID == id).FirstOrDefault();
        }
        //Thêm một StatusJob
        public static bool Insert(StatusJob StatusJob)
        {
            try
            {
                DB.StatusJobs.InsertOnSubmit(StatusJob);
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }

        }
        // Xóa một StatusJob
        public static bool Delete(StatusJob StatusJob)
        {
            try
            {
                DB.StatusJobs.DeleteOnSubmit(StatusJob);
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }

        }
        // Cập nhật StatusJob
        public static bool Update(StatusJob StatusJob)
        {
            try
            {
                //StatusJob objStatusJob = GetDataById(StatusJob.StatusJob_ID);
                //objStatusJob.CodeStatusJob = StatusJob.CodeStatusJob;
                //objStatusJob.NameStatusJob = StatusJob.NameStatusJob;
                //objStatusJob.Address = StatusJob.Address;
                //objStatusJob.Tell = StatusJob.Tell;
                //objStatusJob.Email = StatusJob.Email;
                //objStatusJob.ContactPerson = StatusJob.ContactPerson;
                //objStatusJob.Fax = StatusJob.Fax;
                //objStatusJob.Note = StatusJob.Note;
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }

        }

        // Kiểm tra xem StatusJob Code có tồn tại chưa ?
        public static bool IsExits(StatusJob StatusJob)
        {
            StatusJob objStatusJob = null;
            objStatusJob = DB.StatusJobs.Where(m => (m.StatusName == StatusJob.StatusName) &&
                (m.StatusJob_ID != StatusJob.StatusJob_ID) && (m.Ship_ID == StatusJob.Ship_ID)).FirstOrDefault();
            return objStatusJob != null ? true : false;
        }
        public static bool IsRelationship(StatusJob status)
        {
            WorkOrder workOrder = DB.WorkOrders.Where(n => n.StatusJob_ID == status.StatusJob_ID).FirstOrDefault();
            if (null != workOrder)
                return false;


            return true;
        }

    }
}
